package com.geocalc;

/**
 * 地理点类，用于表示经纬度坐标和对应的高程值
 */
public class GeoPoint {
    private double longitude;  // 经度
    private double latitude;   // 纬度
    private double elevation;  // 高程
    
    /**
     * 默认构造函数
     */
    public GeoPoint() {
        this(0.0, 0.0, 0.0);
    }
    
    /**
     * 构造函数
     * @param longitude 经度
     * @param latitude 纬度
     * @param elevation 高程
     */
    public GeoPoint(double longitude, double latitude, double elevation) {
        this.longitude = longitude;
        this.latitude = latitude;
        this.elevation = elevation;
    }
    
    /**
     * 获取经度
     * @return 经度值
     */
    public double getLongitude() {
        return longitude;
    }
    
    /**
     * 设置经度
     * @param longitude 经度值
     */
    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }
    
    /**
     * 获取纬度
     * @return 纬度值
     */
    public double getLatitude() {
        return latitude;
    }
    
    /**
     * 设置纬度
     * @param latitude 纬度值
     */
    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }
    
    /**
     * 获取高程
     * @return 高程值
     */
    public double getElevation() {
        return elevation;
    }
    
    /**
     * 设置高程
     * @param elevation 高程值
     */
    public void setElevation(double elevation) {
        this.elevation = elevation;
    }
    
    @Override
    public String toString() {
        return "GeoPoint{longitude=" + longitude + ", latitude=" + latitude + ", elevation=" + elevation + "}";
    }
}